OpenDaylight VTN概述——网络虚拟化功能

用户定义一个VTN,用户映射VTN到物理网络,此物理网络能根据VTN定义来启用网络通信。且随着VTN的定义,L2/3层传输功能和基于流的流量控制功能(过滤和重定向)将被实现。
下表显示了VTN的构成元件。在VTN中,虚拟网络通过虚拟节点(包括vBridge、虚拟路由器等)、虚拟接口、链路构成。它可以配置具有L2/3层传递函数的网络,连接由虚拟链路取得虚拟节点上的虚拟端口。



虚拟网络结构的例子:图中VRT是指虚拟路由vRouter,BR1和BR2是作为虚拟桥vBridge。vRouter和vBridge的端口被用来连接vLinks。

(1)映射物理网络资源
映射物理网络资源到虚拟网络结构。映射被OpenFlow交换机传输或者接收的每个包定义的具体虚拟网络,或者在OpenFlow交换机里传输或接收包的具体端口。主要有两种映射方法,当一个包从OpenFlow交换机被接收到时,端口映射搜索相应的映射的定义,然后VLAN映射被查找,根据第一个匹配映射,这个包被相关的vBridge映射。


VTN可以学习从连接到一个被映射到VTN交换机的终端信息。

  • 学习终端信息。VTN学习所属VTN的终端信息,存储相关交换机端口所连接终端的MAC地址和VLAN ID。
  • 终端信息衰老化。在VTN中,被VTN学习的终端信息,将一直维持到从终端一直发送数据流。如果终端断开与VTN的连接,衰退时间将开始计时,且终端信息将维持到时间超时。

有关映射配置的例子如下图所示。BR1的端口映射到OFS1的端口GBE0/1,是通过用端口映射,接受自OFS1的端口GBE0/1的包被视为BR1端口相应的包。BR2映射到VLAN200通过用VLAN映射,接收自任何交换机任何端口的带有VALN标签200的包被视为BR2端口相应的包。


(2) vBridge功能
根据目的MAC地址,vBridge提供桥bridge功能,传输数据包到预期端口。当目的MAC地址已经学习到时,vBridge查找MAC地址表并传输数据包到相应的虚拟端口;当目的MAC地址没有学习到时,它传输数据包到所有的虚拟端口除了正在接收的端口(就是指泛洪)。
MAC地址被学习如下:
MAC学习。vBridge学习到已连接主机的MAC地址,每个接收帧的源MAC地址被映射到正在接收的虚拟端口,且这个MAC地址被存储在MAC地址表中,这个MAC地址表被创建在per-vBridge基础上。
MAC地址老化。只要主机返回ARP消息,存储在MAC地址表中的MAC地址就会被保留;否则当主机断开连接后,MAC仍存在直到老化时间超时。
为了可以由vBridge学习MAC地址静态,可以手动注册MAC地址。
(3)vRouter功能
在vBridges之间,vRouter传输IPv4的包,vRouter支持路由、ARP学习、ARP老化功能。简单介绍一下支持的功能:
路由功能。当一个IP地址被注册到一个vRouter的虚拟端口时,这个端口的路由信息默认被注册;也可以为一个虚拟端口静态注册路由信息。
ARP学习功能。vRouter通过为每个主机发送ARP请求以及介绍ARP响应获取主机的IP、MAC、和虚拟端口,并将这些信息存储到路由域的ARP表中。如果再次发送ARP请求也没有应答,则经过一个老化时间后就会将ARP表项删除。支持静态ARP学习,即可以手动注册ARP表项信息。
DHCP中继代理功能。vRouter也提供DHCP中继代理功能。
(4)流过滤功能
流过滤功能与ACL(访问控制列表Access Control List)相似。它可以允许或禁止只有某一种满足特定条件的数据包的通信。此外,它可以执行重定向处理程序——站点路由,不同于存在的ACL。流过滤也能应用在VTN中vNode的任何一个端口,控制传递接口的数据包。
在流过滤器中被指定的匹配条件如下(注:可以指定多个条件的组合):

  • 源MAC地址(Source MAC address);
  • 目的MAC地址(Destination MAC address);
  • MAC ether 类型(MAC ether type);
  • VLAN优先级(VLAN Priority);
  • 源IP地址(Source IP address);
  • 目的IP地址(Destination IP address);
  • DSCP;
  • IP 协议(IP Protocol);
  • TCP/UDP 源端口(TCP/UDP source port);
  • TCP/UDP 目的端口(TCP/UDP destination port);
  • ICMP类型(ICMP type);
  • ICMP代码(ICMP code)。

动作的类型如下表所示。能够使匹配特定条件的数据包,通过或重定向到一个指定的服务器上。例如,流的路径可以将一个指定终端发送的所有数据包进行改变,这取决于目的IP地址。也支持VLAN优先级控制和DSCP标记。


下面的例子显示流过滤功能怎样工作:
当一个在虚拟网络中传送的数据包通过一个虚拟接口时,如果有任何被流过滤器匹配的条件,则将判断这个传输的数据包是否匹配它。
如果数据包匹配这个条件,则执行流表对应的动作。下面的例子显示在该网络配置下,如果数据包匹配了BR1的流表,则将丢弃这个数据包。


  • 本站原创文章仅代表作者观点,不代表SDNLAB立场。所有原创内容版权均属SDNLAB,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用,转载须注明来自 SDNLAB并附上本文链接。 本站中所有编译类文章仅用于学习和交流目的,编译工作遵照 CC 协议,如果有侵犯到您权益的地方,请及时联系我们。
  • 本文链接https://www.sdnlab.com/15972.html
分享到:
相关文章
条评论

登录后才可以评论

杨振宇 发表于16-02-26
0